package com.zy.teacherSide.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.teacherSide.entity.Course;

import java.util.List;

/**
 * @author 29787
 */
public interface ICourseService extends IService<Course> {

    /**
     * 根据课程名，教师id，班级id查询当前课程是否已经创建
     * @param courseName
     * @param teacherId
     * @param classroomId
     * @return Course
     */
    Course getCourse(String courseName,Integer teacherId,Integer classroomId);

    /**
     * 教师分页查询课程信息
     * @param currentPage
     * @param pageSize
     * @param teacherId
     * @return IPage<Course>
     */
    IPage<Course> getPage(Integer currentPage, Integer pageSize, Integer teacherId);

    /**
     * 根据课程名，教师id查询当前课程
     * @param courseName
     * @param teacherId
     * @return Course
     */
    Course getCourseByCourseNameAndTeacherId(String courseName,Integer teacherId);

    /**
     * 根据教师id查询课程信息
     * @param teacherId
     * @return List<Course>
     */
    List<Course> getAllCourse(Integer teacherId);

    /**
     * 根据课程id和课程id查询课程信息
     * @param teacherId
     * @param courseId
     * @return Course
     */
   Course getAllCourseByCourseId(Integer teacherId,Integer courseId);

    /**
     * 根据教师id，班级id查询课程
     * @param teacherId
     * @param classroomId
     * @return List<Course>
     */
    List<Course> getCourseByClassroomIdAndTeacherId(Integer teacherId,Integer classroomId);

    /**
     * 根据课程id和教师id查询课程信息
     * @param teacherId
     * @return List<Course>
     */
     List<Course> getAllCourseByTeacherIdAndClassroomId(Integer teacherId,Integer classroomId);

}
